import os
import sys
from collections import deque
import copy
# 请在此输入您的代码
#用 DFS 或 BFS 搜出有多少个岛（连通块），检查这个岛有没有高地，统计那些没有高地
#的岛（连通块）的数量，就是答案。
n=int(input())
board=[]
for i in range(n):
    board.append(input())
visted = [[False for _ in range(n)] for _ in range(n)]
def bfs(x,y):
  d = deque()
  d.append((x,y))
  flag = True
  while d:
    p,q = d.popleft()
    for p1,q1 in [(p+1,q),(p-1,q),(p,q+1),(p,q-1)]:
      if visted[p1][q1]: continue
      if board[p1][q1] == '#':
        d.append(((p1,q1)))
        visted[p1][q1] = True
        if board[p1+1][q1] == '#'and board[p1-1][q1] == '#'and board[p1][q1+1]== '#' and board[p1][q1-1] == '#':
          flag = False
  return flag

count = 0
for i in range(n):
  for j in range(n):
    if board[i][j] == '#' and not visted[i][j]:
      visted[i][j] = True
      if bfs(i,j):
        count += 1
print(count)

    
